'use strict';
/**
 * 查找
 */
function read() {
    let keyword = $('#keyword').val();
    get(`${url}/product?keyword=${keyword}`).then(data => {
        $('.dataRow').remove();
        render(data, $('#tbData'))
    });
}

/**
 * 添加
 */
function create() {
    window.location.href = './createOrEdit.html';
}

/**
 * 编辑
 */
function update(id) {
    window.location.href = `./createOrEdit.html?id=${id}`
}

/**
 * 删除
 */
function del(id) {
    let msg = `确认要删除id为${id}的项目吗？`
    if(confirm(msg)) {
        delProductById(id).then(res => {
            console.log(res.id);
            if (res.code == 1000) {
                $(`[key="${res.id}"]`).remove();
            } else {
                alert(res.msg);
            }
        })
    }
}

function cancel() {
    window.location.href = './index.html';
}

function save() {
    let data = {
        product_name: $('#name').val(),
        price: $('#price').val(),
        stock: $('#stock').val(),
        supplier: $('#supplier').val(),
    }

    // 表里有空项则向后端请求数据，并赋值给该项
    // 虽然要避免无谓的请求，但是如果放在后端在插入会导致数据的顺序出现错误，展示的时候会出问题
    // 此处使用同步请求， 因为如果是异步执行，缺失的信息可能还没有补充，可能就被发到后端去了。
    // for (const key in data) {
    //     if (data.hasOwnProperty(key)) {
    //         const element = data[key];
    //         if (element == '') {
    //             $.ajax({
    //                 url: `${url}/product/${id}`,
    //                 async: false,
    //                 type: 'GET',
    //                 success: resData => {
    //                     for (const key in data) {
    //                         if (Object.hasOwnProperty.call(data, key)) {
    //                             data[key] = data[key] || resData[key];
    //                         }
    //                     }
    //                 }
    //             });

    //             break;
    //         }
    //     }
    // }

    if (id == null) {
        $.post(`${url}/product`, data, res => {
            window.location.href = './index.html';
        })
    } else {
        $.ajax({
            url: `${url}/product/${id}`,
            data,
            type: 'PUT',
            success: res => {
                if (res.code == 1000) {
                    window.location.href = './index.html'
                } else {
                    alert(res.msg);
                }

            }
        })
    }

}